---
title: 'Setup'
description: 'Setup FileKit Core in your Kotlin Multiplatform project'
---

import VersionCore from '/snippets/version-core.mdx'
import SetupJVMCore from '/snippets/setup-jvm-core.mdx'

## Installation

<VersionCore/>

FileKit Core provides the fundamental file operations for your Kotlin Multiplatform project. It's designed to work across all supported platforms with a unified API.

## Platform-specific setup

FileKit Core is designed to work out of the box for most platforms, but some targets require additional setup.

### Android setup

FileKit Core is **automatically initialized** in Android applications. It uses [App Startup](https://developer.android.com/topic/libraries/app-startup) to initialize the library, ensuring that it is ready to use when your app starts.

If for some reason you want to disable App Startup in your app, you can initialize FileKit manually by calling `FileKit.manualFileKitCoreInitialization(context)` in your `MainActivity` or `Application` class.

```kotlin
class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        // Initialize FileKit
        FileKit.manualFileKitCoreInitialization(this)
    }
}
```

### JVM setup

<SetupJVMCore/>

### iOS, macOS, JS, WASM setup

No additional setup is needed for iOS, macOS, JS, and WASM targets. FileKit Core works out of the box on these platforms.
